home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
- OOOOOOOOOOOOO OOOOOOOOOOOOO OOOOOOOOOOOOO OOOOOOOOOOOOO
- OO OO OO OO OO
- OO OO OO OO OO
- OO OO OO OO OO
- OO OO OO OO OO
- OO OO OOOOOOOOOO OO OO
- OO OO OO OO OO
- OO OO OO OO OO
- OO OO OO OO OO
- OO OO OO OO OO
- OOOOOOOOOOOOO OOOOOOOOOOOOO OOOOOOOOOOOOO OOOOOOOOOOOOO
-
-
-
-
- The High Touch Language Compiler
- Version 1.00
-
-
- by George A. Stanislav
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1987, George A. Stanislav. All Rights Reserved.
-
-
-
-
-
-
- 1
-
-
-
-
-
-
- OECC, Version 1.00 George A. Stanislav
-
-
-
-
- What is OECC?
- =============
-
- If you have not read OECL.DOC, please do. It describes Opus
- Embedded Command Language. OECC (Opus Embedded Command Compiler)
- is a compiler for OECL.
-
- In Other words, OECC takes a text file containing OECL
- tokens as its input. It processes the tokens, replacing them by
- OEC and oANSI codes. It sends the text with the embedded commands
- to the output. It will not modify the input. Unless of course you
- want the output to go to the input file. But you probably do not
- want to do that. It would not work properly.
-
- Is OECC a full implementation of OECL?
- ======================================
-
- Yes, with one exception: Version 1.00 does not support
- labels. It does compile the [goto] token properly but will not
- insert a label.
-
- How do I use OECC?
- ==================
-
- There are two ways of doing it. The first is:
-
- oecc infile outfile
-
- where infile is the name of the input file containing OECL
- tokens, outfile will be the file where you want OECC to send its
- output. If a file of that name already exists, OECC will
- overwrite it.
-
- The second way:
-
- oecc infile
-
- In this case, OECC will read its input from infile and send its
- output to the screen.
-
- What is MONITOR.EXE?
- ====================
-
- A modified version of Wynn Wagner's program TESTVID.EXE. The
- only difference is that TESTVID takes its input from a file,
- MONITOR from stdin. Therefore, MONITOR can be used for piping.
-
-
- 2
-
-
-
-
-
-
- OECC, Version 1.00 George A. Stanislav
-
-
- Can you explain how to use "piping"?
- ====================================
-
- Several sample files containing OECL tokens came in the .ARC
- file with OECC. All of them have the extension .OEC. They are not
- meant to create flashy screens, just give you an idea how to use
- OECL. The one called OECTEST.OEC was used to alpha test OECC. You
- can try to see what OECC does with it in three steps.
-
- 1. Type:
-
- oecc oectest.oec
-
- OECC will read the file OECTEST.OEC, compile it and send the
- output to the screen. It will warn you if there are any unknown
- tokens in the file.
-
- 2. The output of point 1 consists mostly of control
- characters and does not give you an idea what Opus will do with
- it. That's where the piping is useful. Try this:
-
- oecc oectest.oec | monitor
-
- The pipe symbol `|' (not `:') will take the screen output of
- OECC and convert it into the input of MONITOR.EXE which in turn
- will convert oANSI into ANSI and send it to your screen. Make
- sure you have ANSI.SYS properly installed.
-
- 3. Now you may want to play with oectest.oec and try to
- improve it. It is not quite perfect, to give you something to
- experiment with. Once steps 1 and 2 give you satisfactory
- results, type:
-
- oecc oectest.oec oectest.bbs
-
- OECTEST.BBS is a file that can be used with Opus.
-
- Can I give OECC to others?
- ==========================
-
- Yes, as long as these conditions are met:
-
- 1. You will give them the whole package contained in
- OECC_100.ARC. That includes the .ARC file itself.
-
- 2. You will not charge them for OECC.
-
- 3. Companies that sell diskettes with Public Domain programs
- are expressly prohibited to distribute OECC. OECC is not in
-
- 3
-
-
-
-
-
-
- OECC, Version 1.00 George A. Stanislav
-
-
- public domain. It is copyrighted by George A. Stanislav.
-
- Do I have to pay for OECC?
- ==========================
-
- Not in the connection with your own personal use. Not in the
- connection with a Church related use (any denomination).
-
- On the other hand, corporate and governmental users must not
- use OECC without first sending $10 to George A. Stanislav, P.O.
- Box 129, Natrona Heights, PA 15065, for each copy of OECC they
- use. The same restriction applies to hospitals.
-
- Why is OECC.EXE so small?
- =========================
-
- OECC was written in assembly language to give it speed and
- small size.
-
- Do I need a database to work with OECC?
- =======================================
-
- No need for a database. All the data it needs has been
- placed in the program itself. Because of that you can use OECC
- from anywhere on your system as long as OECC.EXE is in a
- directory pointed to by PATH, or you use the proper path in front
- of oecc (e.g., c:\opus\util\oecc bulletin.oec bulletin.bbs).
-
- Do the input and output file have to be in the same directory?
- ==============================================================
-
- They can be anywhere on the system. You can use something
- like this:
-
- c:\opus\util\oecc d:\oecc\bulletin.oec a:\misc\bulletin.bbs
-
- What do I do when new versions of Opus add more codes?
- ======================================================
-
- Get a new version of OECC which will include the new codes.
- OECL (the language) will be expanded whenever needed.
-
- oANSI has a code to compress repeat characters. Why does OECL not
- =================================================================
- have a token for that?
- ======================
-
- No token is needed! OECC compresses a group of four or more
- equal characters automatically.
-
- 4
-
-
-
-
-
-
- OECC, Version 1.00 George A. Stanislav
-
-
-
- Will 26 equal characters place a ^Z in the code?
- =================================================
-
- While that would be the correct oANSI code, testing has
- shown that ^Z even as a part of the oANSI control code would make
- Opus believe it has arrived at the end of the file. Therefore,
- any group of 26 characters will be treated as one character plus
- a group of 25 characters. Of course, groups of more than 26 equal
- characters will be compressed to just three bytes. Only groups of
- exactly 26 equal characters will be compressed to 4 bytes - to
- avoid ^Z.
-
- I placed "[sline][lightgreen]Hi sysop" in the file. Why did it
- ==============================================================
- say "Hi sysop" to all users?
- ============================
-
- That is an idiosyncrasy in oANSI. The oANSI code for
- [lightgreen] is ^V^A^J. But ^J is the code for line feed (end of
- line). When Opus reads the code for [sline] and the caller is
- bellow sysop level, it reads the rest of the line but does not
- check if the characters are a part of the control codes.
- Therefore, it interprets the ^J as the end of the line. It
- believes "Hi sysop" is on a different line and displays it. A
- possible solution is by placing the color code BEFORE [sline],
- like this:
-
- "[lightgreen][sline]Hi, sysop."
-
- Better yet, do not use light green color at a line which is to be
- displayed only to certain access levels.
-
- What computers does OECC work at?
- =================================
-
- OECC was written on a Tandy 1000, an IBM compatible
- computer. It uses no direct access to the hardware. Therefore, it
- should work on any MS/PC DOS computer. Please report any
- incompatibilities to the author. But I really do not expect any.
-
- What kind of warranties do I get?
- =================================
-
- Are you kidding? No warranty expressed or implied, except
- that it has been working fine on my computer as well as those of
- the beta testers.
-
-
-
- 5
-
-
-
-
-
-
- OECC, Version 1.00 George A. Stanislav
-
-
-
- What about support?
- ===================
-
- You can try. Send me matrix mail to 129/39. If I can I will
- answer. No guarantee though.
-
-
-
-
-
- <<<< * * * >>>>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6
-